// CORS测试脚本
// 在前端页面 (http://localhost:3000) 的浏览器控制台中运行

console.log('🧪 开始CORS测试...');

// 测试1: 基本GET请求
async function testBasicCORS() {
    console.log('\n📋 测试1: 基本GET请求');
    try {
        const response = await fetch('http://localhost:8000/api/test/cors');
        const data = await response.json();
        console.log('✅ 成功:', data);
        return true;
    } catch (error) {
        console.error('❌ 失败:', error);
        return false;
    }
}

// 测试2: POST请求
async function testPOSTCORS() {
    console.log('\n📋 测试2: POST请求');
    try {
        const response = await fetch('http://localhost:8000/api/test/post', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
            },
            body: JSON.stringify({test: 'CORS测试数据', timestamp: new Date().toISOString()})
        });
        const data = await response.json();
        console.log('✅ 成功:', data);
        return true;
    } catch (error) {
        console.error('❌ 失败:', error);
        return false;
    }
}

// 测试3: 认证端点
async function testAuthCORS() {
    console.log('\n📋 测试3: 认证端点');
    try {
        const response = await fetch('http://localhost:8000/api/auth/positions');
        const data = await response.json();
        console.log('✅ 职位列表:', data);
        return true;
    } catch (error) {
        console.error('❌ 失败:', error);
        return false;
    }
}

// 测试4: 健康检查
async function testHealthCheck() {
    console.log('\n📋 测试4: 健康检查');
    try {
        const response = await fetch('http://localhost:8000/health');
        const data = await response.json();
        console.log('✅ 健康状态:', data);
        return true;
    } catch (error) {
        console.error('❌ 失败:', error);
        return false;
    }
}

// 运行所有测试
async function runAllTests() {
    console.log('🚀 运行所有CORS测试...\n');
    
    const results = {
        health: await testHealthCheck(),
        basic: await testBasicCORS(),
        post: await testPOSTCORS(),
        auth: await testAuthCORS()
    };
    
    console.log('\n📊 测试结果总结:');
    console.log('===================');
    Object.entries(results).forEach(([test, passed]) => {
        console.log(`${passed ? '✅' : '❌'} ${test}: ${passed ? '通过' : '失败'}`);
    });
    
    const allPassed = Object.values(results).every(r => r);
    console.log(`\n🎯 总体结果: ${allPassed ? '✅ 所有测试通过！' : '❌ 有测试失败'}`);
    
    if (allPassed) {
        console.log('🎉 CORS配置正常，可以继续开发！');
    } else {
        console.log('🔧 请检查FastAPI服务器是否正在运行，并查看后端日志');
    }
    
    return results;
}

// 自动运行测试
runAllTests(); 